package com.example.databindingdemo;

import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

import com.example.databindingdemo.databinding.ActivityMainBinding;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    /**
     * 使用安卓自带的apidatabinding的时候注意他的对象名是布局名首字母大写
     * @param savedInstanceState
     */
//    实例化databinding对象
    private ActivityMainBinding binding;
    private List<Bean> beanList = new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        不在使用setContentView(R.layout.activity_main);绑定布局而是使用过databinding来绑定布局
//        绑定布局的时候需要使用到上下文对象和布局文件
        binding = DataBindingUtil.setContentView(this,R.layout.activity_main);
//        setContentView(R.layout.activity_main);
        User user  = new User();
        user.setId("001");
        user.setName("xxgc");
//        双向绑定实现了mvvm的模式目前问题是数据类型的问题
//        这里用setuser原因是在布局文件中我使用了别名的方式
//        <variable
//    name="user"
//    type="com.example.databindingdemo.User" />
        binding.setUser(user);
        binding.txt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "哈哈哈", Toast.LENGTH_SHORT).show();
            }
        });
        binding.btncli.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "22345", Toast.LENGTH_SHORT).show();
                user.setName("001");
                user.setName("2222");
            }
        });
        for (int i = 0; i < 5; i++) {
         beanList.add(new Bean(i,i+"test"));
        }
        Adapter adapter = new Adapter(this,R.layout.item,beanList);
        binding.setLsadapter(adapter);
        binding.listcli.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                beanList.get(0).setId(255);
                beanList.get(0).setLikename("yjh");
                adapter.notifyDataSetChanged();
            }
        });
//        加载网络图片
//        binding.setNetWorkImage("https://t8.baidu.com/it/u=2341512357,2215040023&fm=218&app=126&size=f242,150&n=0&f=PNG?s=8D287432482E5E0B1CD590DA0300E0B5&sec=1647450000&t=a4b08d424fbc7674282b53181a172f41");
//        加载本地图片资源
        binding.setLocationurl(R.drawable.ic_launcher_background);
        binding.nextactivity.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MyApplication.getContext(),MainActivity2.class);
                startActivity(intent);
            }
        });
    }
}